package top.melody.ecommerce.platform.api.domain.basedata;


import top.melody.ecommerce.common.util.reflect.ReflectUtil;
import top.melody.ecommerce.platform.handler.enums.ActStatus;
import top.melody.ecommerce.platform.handler.enums.RegionLevel;
import top.melody.ecommerce.platform.handler.enums.ValidStatus;

import java.io.Serializable;
import java.util.Date;


public class Region implements Serializable {

    private Integer regionId;		 /* 地区ID */
    private String regionName;		 /* 名称 */
    private RegionLevel regionLevel;		 /* 地区级别 */
    private Integer parentId;		 /* 上级地区编码 */
    private String areaCode;        /* 地区编码:区号 */
    private String zipCode;         /* 邮政编码 */
    private ValidStatus validStatus;		 /* 状态 */
    private ActStatus removeStatus;
    private Date createDate;
    private Date updateDate;

    public Region() {

    }

    public Region(Integer regionId, String regionName, RegionLevel regionLevel, Integer parentId, String areaCode, String zipCode, ValidStatus validStatus, ActStatus removeStatus, Date createDate, Date updateDate) {
        this.regionId = regionId;
        this.regionName = regionName;
        this.regionLevel = regionLevel;
        this.parentId = parentId;
        this.areaCode = areaCode;
        this.zipCode = zipCode;
        this.validStatus = validStatus;
        this.removeStatus = removeStatus;
        this.createDate = createDate;
        this.updateDate = updateDate;
    }

    public Integer getRegionId() {
        return regionId;
    }

    public void setRegionId(Integer regionId) {
        this.regionId = regionId;
    }

    public String getRegionName() {
        return regionName;
    }

    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    public RegionLevel getRegionLevel() {
        return regionLevel;
    }

    public void setRegionLevel(RegionLevel regionLevel) {
        this.regionLevel = regionLevel;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public ValidStatus getValidStatus() {
        return validStatus;
    }

    public void setValidStatus(ValidStatus validStatus) {
        this.validStatus = validStatus;
    }

    public ActStatus getRemoveStatus() {
        return removeStatus;
    }

    public void setRemoveStatus(ActStatus removeStatus) {
        this.removeStatus = removeStatus;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public String toString() {
        return ReflectUtil.fieldsToString(this);
    }
}
